/**
 *	4.写一个函数，它的原型如下所示，这个函数将数组src中的字符串复制到数组dst但是有这些要求：
 *	刚好n个字符被存储到dst数组，如果src字符串的长度比n小，那么你需要添加足够的NUL字符使得有n个字符被存储，
 *	如果src中字符串的长度大于或等于n，那么复制n个字符后停止，这种情况下不是以NUL结尾，
 *	注意调用copy_n时应该在dst[0]到dst[n-1]存储，与src的长度无关，如果你计划使用strncpy来实现你的程序，
 *	祝贺你提前学到了这个知识，但在这里我的目的是让你自己规划程序的逻辑，所以你最好不要使用那些处理字符串的库函数
**/

#include <stdio.h>

void copy_n(char dst[], char src[], int n);

int main()
{
	char str[] = "This is the first line.";
	char cstr[20];

	copy_n(cstr, str, 20);

	printf("str = %s\n", str);
	printf("cstr = %s\n", cstr);

	return 0;
}

void copy_n(char dst[], char src[], int n)
{
	int i = 0;
	while(src[i] != '\0' && i < n - 1)
	{
		dst[i] = src[i];
		i++;
	}
	dst[i] = '\0';
}
